; Music of Eden Blues (1985) (Ere) (Philippe Ulrich)
; Ripped by Megachur the 05/02/2009

; Need System Vectors

	write "EDENBLUE.BIN"

music_date_rip	equ &
music_adr	equ &a239
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

.la23d equ $ + 4
.la23b equ $ + 2
.la239
	dw l4004,l4025,l4249
.la23f
	db #00
;
.play_music
;
.la240
	ld a,#04
	call #bcad
	cp #81
	jr z,la273
	ld hl,(la239)
	ld ix,la4ab
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld de,l4025
	call l71b5
	jr nz,la26a
	ld hl,l4004
.la26a
	ld (la239),hl
	push ix
	pop hl
	call #bcaa
.la273
	ld a,#02
	call #bcad
	cp #81
	jr z,la2bd
	ld a,(la23f)
	or a
	jr nz,la2bd
	ld hl,(la23b)
	ld ix,la4b4
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	jr nz,la295
	ld a,#0c
	ld c,#01
	jr la29c
.la295
	ld a,(l4001)
	ld c,a
	ld a,(l4000)
.la29c
	ld (ix+#01),a
	ld (ix+#02),c
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld (la23b),hl
	push ix
	pop hl
	call #bcaa
.la2bd
	ld a,#01
	call #bcad
	cp #81
	jr z,la2f1
	ld a,(la23f)
	or a
	jr nz,la2f1
	ld hl,(la23d)
	ld ix,la4bd
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	ld a,#0c
	jr z,la2dd
	ld a,#0d
.la2dd
	ld (ix+#01),a
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld (la23d),hl
	push ix
	pop hl
	call #bcaa
.la2f1
	ld hl,(la23b)
	ld de,l4249
	call l71b5
	jr nz,la344
	ld a,#02
	call #bcad
	cp #04
	jr nz,la33f
	ld a,#01
	call #bcad
	cp #04
	jr nz,la33f
	ld hl,l4025
	ld (la23b),hl
	ld hl,l4249
	ld (la23d),hl
	xor a
	ld (la23f),a
	ld hl,l4004
	ld (la239),hl
	ld a,#41
	ld (la4bd),a
	inc a
	ld (la4b4),a
	ld a,#44
	ld (la4ab),a
	call #bca7
	ld b,#05
.la337
	push bc
	call la240
	pop bc
	djnz la337
	ret
.la33f
	ld a,#01
	ld (la23f),a
.la344
	ld a,(la4bd)
	cp #41
	ret nz
	ld a,#01
	ld (la4bd),a
	inc a
	ld (la4b4),a
	ld a,#04
	ld (la4ab),a
	ld a,#07
	call #bcb3
	ret
;
.real_init_music
;
	xor a
	ld (la23f),a
	call #bca7
	ld hl,l4025
	ld (la23b),hl
	ld hl,l4004
	ld (la239),hl
	ld hl,l4249
	ld (la23d),hl
	ld a,#41
	ld (la4bd),a
	inc a
	ld (la4b4),a
	ld a,#44
	ld (la4ab),a
	ld hl,l4002
	ld a,(hl)
	ld (la4c4),a
	inc hl
	ld a,(hl)
	ld (la4c5),a
	call #bca7
	ld hl,la3c1
	ld b,#08
.la399
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbc
	pop hl
.la3a1
	ld a,(hl)
	cp #80
	inc hl
	jr nz,la3a1
	pop bc
	djnz la399
	ld hl,la451
	ld b,#05
.la3af
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbf
	pop hl
.la3b7
	ld a,(hl)
	cp #80
	inc hl
	jr nz,la3b7
	pop bc
	djnz la3af
	ret
.la3c1
	db #0b,#02,#01,#0d,#01,#0d,#ff,#02
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#0c,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#0d,#01,#10,#ff
	db #03,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#01,#01
	db #10,#ff,#0e,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#80
	db #02,#01,#10,#ff,#07,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#03,#01,#10,#ff,#03,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#04,#01,#04,#fc
	db #18,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#05,#03
	db #05,#03,#01,#01,#00,#14,#0f,#ff
	db #02,#00,#00,#00,#00,#00,#00,#80
.la451
	db #01,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#02,#82,#01,#05,#05,#01
	db #fb,#05,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#03,#83,#01,#02
	db #01,#01,#fc,#01,#01,#02,#01,#00
	db #00,#00,#00,#00,#00,#80,#04,#83
	db #02,#01,#01,#04,#ff,#01,#02,#01
	db #01,#00,#00,#00,#00,#00,#00,#80
	db #05,#82,#04,#01,#03,#04,#ff,#03
	db #00,#00,#00,#00,#00,#00,#00,#00
.la4ab equ $ + 2
	db #00,#80,#44,#0b,#00,#00,#00,#00
.la4b4 equ $ + 3
	db #00,#00,#00,#42,#0c,#01,#00,#00
.la4bd equ $ + 4
	db #00,#00,#00,#00,#41,#0c,#00,#00
.la4c5 equ $ + 4
.la4c4 equ $ + 3
	db #00,#00,#00,#14,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00
	
.l4004 equ $ + 4
.l4002 equ $ + 2
.l4001 equ $ + 1
.l4000
	db #02,#04,#14,#00,#28,#00,#0a,#28
	db #00,#0a,#28,#00,#0a,#14,#00,#0a
	db #14,#00,#14,#28,#00,#0a,#28,#00
	db #0a,#28,#00,#0a,#14,#00,#14,#0a
.l4025 equ $ + 5
	db #00,#02,#0a,#00,#02,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#2c,#01,#14
	db #00,#92,#01,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#7c,#01,#14
	db #00,#fe,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#3e,#01,#14
	db #00,#d4,#00,#14,#00,#a0,#00,#14
	db #00,#d4,#00,#14,#00,#3e,#01,#14
	db #00,#d4,#00,#14,#00,#a0,#00,#14
	db #00,#d4,#00,#14,#00,#fe,#00,#14
	db #00,#a8,#00,#14,#00,#7e,#00,#14
	db #00,#a8,#00,#14,#00,#fe,#00,#14
	db #00,#a8,#00,#14,#00,#7e,#00,#14
	db #00,#a8,#00,#14,#00,#52,#01,#14
	db #00,#e2,#00,#14,#00,#a8,#00,#14
	db #00,#e2,#00,#14,#00,#52,#01,#14
	db #00,#e2,#00,#14,#00,#a8,#00,#14
	db #00,#e2,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#96,#00,#14
	db #00,#c8,#00,#14,#00,#2c,#01,#14
	db #00,#c8,#00,#14,#00,#96,#00,#14
	db #00,#c8,#00,#14,#00,#3e,#01,#14
	db #00,#fe,#00,#14,#00,#a0,#00,#14
	db #00,#fe,#00,#14,#00,#3e,#01,#14
	db #00,#fe,#00,#14,#00,#a0,#00,#14
	db #00,#fe,#00,#14,#00,#fe,#00,#14
	db #00,#d4,#00,#14,#00,#7e,#00,#14
	db #00,#d4,#00,#14,#00,#fe,#00,#14
	db #00,#d4,#00,#14,#00,#7e,#00,#14
	db #00,#d4,#00,#14,#00,#52,#01,#14
	db #00,#1c,#01,#14,#00,#a8,#00,#14
	db #00,#1c,#01,#14,#00,#52,#01,#14
	db #00,#1c,#01,#14,#00,#a8,#00,#14
	db #00,#1c,#01,#14,#00,#00,#00,#a0
.l4249 equ $ + 1
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#3f,#00,#35,#00,#4b,#00,#5f
	db #00,#6a,#00,#7f,#00,#96,#00,#be
	db #00,#4b,#00,#32,#00,#3f,#00,#4b
	db #00,#54,#00,#64,#00,#7f,#00,#96
	db #00,#3f,#00,#35,#00,#4b,#00,#5f
	db #00,#6a,#00,#7f,#00,#96,#00,#be
	db #00,#4b,#00,#32,#00,#3f,#00,#4b
	db #00,#54,#00,#64,#00,#7f,#00,#96
	db #00,#3f,#00,#35,#00,#4b,#00,#5f
	db #00,#6a,#00,#7f,#00,#96,#00,#be
	db #00,#4b,#00,#32,#00,#3f,#00,#4b
	db #00,#54,#00,#64,#00,#7f,#00,#96
	db #00,#9f,#00,#35,#00,#7f,#00,#28
	db #00,#6a,#00,#35,#00,#50,#00,#3f
	db #00,#7f,#00,#3f,#00,#6a,#00,#2a
	db #00,#54,#00,#35,#00,#47,#00,#3f
	db #00,#a9,#00,#54,#00,#8e,#00,#38
	db #00,#71,#00,#47,#00,#5f,#00,#54
	db #00,#96,#00,#4b,#00,#7f,#00,#32
	db #00,#64,#00,#3f,#00,#54,#00,#4b
	db #00,#9f,#00,#35,#00,#7f,#00,#28
	db #00,#6a,#00,#35,#00,#50,#00,#3f
	db #00,#7f,#00,#3f,#00,#6a,#00,#2a
	db #00,#54,#00,#35,#00,#47,#00,#3f
	db #00,#a9,#00,#54,#00,#8e,#00,#38
	db #00,#71,#00,#47,#00,#5f,#00,#54
	db #00,#00,#00,#00,#00,#00,#00,#00
	
.l71b5
	ld a,h
	sub d
	ret nz
	ld a,l
	sub e
	ret
	
;
.init_music	; added by Megachur
;
	call real_init_music
	ld hl,evt_bloc
	ld bc,#8100
	ld de,play_music
	jp #bcd7	; call play_music every CRT interrupt
evt_bloc
	db #00,#00,#00,#00,#00,#00
	db #00,#00,#00
;
.game_name
	db "Eden Blues",0
.game_year
	db "1985",0
.game_publisher
	db "Ere",0
.music_author
	db "Philippe Ulrich",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
